package com.rc.saas.mini.service.elec;

import com.github.pagehelper.PageInfo;
import com.rc.saas.mini.common.base.BaseService;
import com.rc.saas.mini.mapper.elec.ElecStationMapper;
import com.rc.saas.mini.model.elec.ElecStation;
import com.rc.saas.mini.model.elec.ElecStationExample;
import com.rc.saas.mini.search.ElecStationSearch;
import com.rc.saas.mini.vo.elec.ElecStationUsableVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author wangzhengwei
 * @create 2021/12/21
 */
public interface ElecStationService extends BaseService<Long, ElecStation, ElecStationExample, ElecStationMapper> {

    ElecStation selectStationById(Long elecStationId, BigDecimal longitude, BigDecimal latitude);

    /**
     * 限时活动站点
     */
    List<Long> listActiveStation(String tenantCode);

    /**
     * 优惠券可用站点
     */
    List<Long> listAvailableCouponStation(String tenantCode, Long memberId);

    /**
     * 站点列表
     */
    List<ElecStation> listElecStation(ElecStationSearch search);

    /**
     * 分页站点列表
     */
    PageInfo<ElecStation> listPageElecStation(ElecStationSearch search, Integer pageNo, Integer pageSize);

    List<ElecStationUsableVo> listElecStationInfo(List<Long> elecStationIds);

    ElecStationUsableVo countElecStationInfoById(Long elecStationId);

    PageInfo<ElecStation> listPageCollectByMember(ElecStationSearch search, int pageNo, int pageSize);

    void updateFlag();
}
